#ifndef PHP_OPENAL_H
#define PHP_OPENAL_H 1

#ifdef ZTS
#include "TSRM.h"
#endif

#define PHP_OPENAL_VERSION "0.2"
#define PHP_OPENAL_EXTNAME "openal"

#include <AL/al.h>
#include <AL/alc.h>
#include <AL/alut.h>
#include <AL/alext.h>

#define TYPE_ALFLOAT 1
#define TYPE_ALINT 2
#define TYPE_ALUINT 3
#define TYPE_ALBOOLEAN 4

extern zend_module_entry openal_module_entry;
#define phpext_openal_ptr &openal_module_entry

/*//. Flat Functions .//*/

extern zend_module_entry openal_module_entry;
static function_entry openal_functions[] = {
	{NULL, NULL, NULL}
};

/*//. Original Function Checklist.
  ../ These are the original functions I am killing 1 by 1 with the OOP interface.

PHP_FUNCTION(openal_device_open);
PHP_FUNCTION(openal_device_close);
PHP_FUNCTION(openal_context_create);
PHP_FUNCTION(openal_context_current);
PHP_FUNCTION(openal_context_process);
PHP_FUNCTION(openal_context_suspend);
PHP_FUNCTION(openal_context_destroy);
PHP_FUNCTION(openal_buffer_create);
PHP_FUNCTION(openal_buffer_get);
PHP_FUNCTION(openal_buffer_data);

PHP_FUNCTION(openal_buffer_destroy);
	By OpenALBuffer::free()	
	
KILLED(openal_source_create);
	BY OpenALSource::__construct()

KILLED(openal_source_get);
KILLED(openal_source_set);
	By Magical Properties.
	
KILLED(openal_source_play);
	BY OpenALSource::play()
KILLED(openal_source_pause);
	BY OpenALSource::pause()
KILLED(openal_source_stop);
	BY OpenALSource::stop()
KILLLED(openal_source_rewind);
	BY OpenALSource::rewind()

PHP_FUNCTION(openal_source_destroy);
	BY OpenALSource::free()

KILLED(openal_listener_get);
	BY OpenAL::get_listener_gain()
	BY OpenAL::get_listener_orientation()
	BY OpenAL::get_listener_position()
	BY OpenAL::get_listener_velocity()
KILLED(openal_listener_set);
	BY OpenAL::set_listener_gain()
	BY OpenAL::set_listener_orientation()
	BY OpenAL::set_listener_position()
	BY OpenAL::set_listener_velocity()
.//*/

#include "src/class_openal.h"
#include "src/class_openalbuffer.h"
#include "src/class_openalsource.h"


#endif
